package bean;

import java.util.Date;
import java.util.List;

import javax.persistence.*;

@Entity
@Table(name="cotizacion")
public class Cotizacion 
{
	private int id;
	private int numero;
	private Date fechaExpiracion;
	private Cliente cliente;
	private List<ItemCotizacion> items;
	private Date fechaRecepcion;
	private String estadoCotizacion;
	private SolicitudCotizacion solCot;
	private CondicionVenta condicionDeVenta;
	private PedidoVenta pedidoVenta;
	
	public Cotizacion() 
	{
		// TODO Auto-generated constructor stub
	}
	
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	public int getId() 
	{
		return id;
	}

	public void setId(int id) 
	{
		this.id = id;
	}

	public int getNumero() 
	{
		return numero;
	}

	public void setNumero(int numero) 
	{
		this.numero = numero;
	}

	@ManyToOne
    @JoinColumn(name="cliente_id")
	public Cliente getCliente() 
	{
		return cliente;
	}

	public void setCliente(Cliente cliente) 
	{
		this.cliente = cliente;
	}

	@OneToMany
	@PrimaryKeyJoinColumn
	public List<ItemCotizacion> getItems() 
	{
		return items;
	}

	public void setItems(List<ItemCotizacion> items) 
	{
		this.items = items;
	}

	public String getEstadoCotizacion() 
	{
		return estadoCotizacion;
	}

	public void setEstadoCotizacion(String estadoCotizacion) 
	{
		this.estadoCotizacion = estadoCotizacion;
	}
	
	@OneToOne(cascade=CascadeType.ALL)
	@PrimaryKeyJoinColumn
	public SolicitudCotizacion getSolCot() 
	{
		return solCot;
	}

	public void setSolCot(SolicitudCotizacion solCot) 
	{
		this.solCot = solCot;
	}

	
	@OneToOne
	@PrimaryKeyJoinColumn
	public PedidoVenta getPedidoVenta()
	{
		return pedidoVenta;
	}
	
	public void setPedidoVenta( PedidoVenta pedidoVenta )
	{
		this.pedidoVenta = pedidoVenta;
	}

	public Date getFechaExpiracion() {
		return fechaExpiracion;
	}

	public void setFechaExpiracion(Date fechaExpiracion) {
		this.fechaExpiracion = fechaExpiracion;
	}

	public Date getFechaRecepcion() {
		return fechaRecepcion;
	}

	public void setFechaRecepcion(Date fechaRecepcion) {
		this.fechaRecepcion = fechaRecepcion;
	}

	@OneToOne(cascade=CascadeType.ALL)
	@PrimaryKeyJoinColumn
	public CondicionVenta getCondicionDeVenta() {
		return condicionDeVenta;
	}

	public void setCondicionDeVenta(CondicionVenta condicionDeVenta) {
		this.condicionDeVenta = condicionDeVenta;
	}

}
